package com.raja.servingStation.common.redis;

import java.io.Serializable;

/**
 * 终端实时信息：必须数据项
 * @author Administrator
 *
 */
public class MonitorData implements Serializable {
	/**
	 *
	 */
	private static final long serialVersionUID = 2208480336332934974L;
	private String ter;						// 终端号
	private String no;						// 车牌号
	private Integer id;						// 车辆ID
	private String vin;						//车辆VIN码

	private String carModelName;//车型
	private String carFactory;//所属厂商
	private String carModelCode;

	private Double m;						//当日里程
	private String daymTag;						//当日里程转换值

	private Float sp;						//速度
	private Integer st;						//状态 1行驶在线 3停车在线 2离线
	private long totalM;					//用于计算当日里程
	private long gprsState;					//状态
	private double tm;						//总里程
	private String orgName;					//所属公司
	private Integer gprs;					//卫星信号强度	 强（24-31）、中（16-23）、弱（0-15）
	private Integer sts;					//定位卫星数
	private Integer pos;					//定位状态（0：定位 1：非定位）
	private double perm;					//当日第一次上报里程
	private Long lks; 						//锁车状态
	private Long lkt; 						//锁车时间
	private String simNo;					//sim 卡号
	private String	carType;				//车辆类型
	private Integer dir;					//方向

	private String smallIcon; // 车辆型号图标索引

	//国标属性
	//登入登出信息
	private String logOutTime;				//登出时间
	private String logOutSerialNo;			//登出流水号
	private String logOutRecvTime;			//登出接收时间
	private Long t;							//数据时间(登入时间) UTC 1970到现在的秒数
	private String logInTime;				//数据时间(登入时间)
	private String logInSerialNo;			//登入序列号
	private String logInRecvTime;			//登入接收时间
	private String simCCID;					//sim卡的CCID
	private Integer batteryNum;				//电池总成数
	private String batteryCode;				//电池编码

	//gps信息
	private int gpsState;					//定位状态	0-未知，1-在线，2-离线
	private Double lg;						//经度 纠偏前
	private Double lt;						//纬度 就偏前
	private Double lng;						//经度 纠偏后
	private Double lat;						//纬度 就偏后
	private Integer gpsSpeed;				//速度(0.1km/h) gps

	//燃料电池
	private long fuelBTV;					//燃料电池电压(0.1V)
	private long fuelBTA;					//燃料电池电流(0.1A)
	private long fuelRate;					//燃料消耗率(0.01L/100km)
	private long fuelDectorNum;				//探针总数
	private long hydrogenHT;					//氢气系统中最高温度
	private long hydrogenHTNo; 				//氢气系统中最高温度探针代号
	private long hydrogenHC; 				//氢气系统中最高浓度
	private long hydrogenHCNo; 				//氢气系统中最高浓度传感器代号
	private long hydrogenHP; 				//氢气最高压力
	private long hydrogenHPNo; 				//氢气最高压力传感器代号
	private String fuelDectorTemp;				//探针温度

	//整车
	private long carDateTime;
	private long carState;					//车辆状态
	private long chargeState;				//充放电状态
	private long runMode;					//运行模式
	private long speed;						//车速(0.1km/h)	can车速
	private long mileage;					//里程(0.1km)
	private long totalV;						//总电流
	private long totalA;						//总电压
	private long soc;						//电量百分比(1%)
//	private int dcTemp;						//DC-DC温度
	private long dcState;					//DC-DC状态
	private long gear;						//档位(1:工作,2:断开,0xFE异常:,0xFF:无效)
	private long accelerator;				//加速踏板行程值(1%)
	private long breakState;					//制动踏板状态
	private long plusR;						//绝缘电阻

	//动力蓄电池
	private long powDateTime;
	private long powStoreVoltage;					//动力蓄电池电压
	private long powStoreCurr;					//动力蓄电池电流
	private long powStoreSingleNum;					//单体蓄电池总数
	private String powStoreSingleVoltage;			//单体电压
	private int assemNo;	//总成号



	public String getTer() {
		return ter;
	}
	public void setTer(String ter) {
		this.ter = ter;
	}
	public String getNo() {
		return no;
	}
	public void setNo(String no) {
		this.no = no;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getLogOutTime() {
		return logOutTime;
	}
	public void setLogOutTime(String logOutTime) {
		this.logOutTime = logOutTime;
	}
	public String getLogOutSerialNo() {
		return logOutSerialNo;
	}
	public void setLogOutSerialNo(String logOutSerialNo) {
		this.logOutSerialNo = logOutSerialNo;
	}
	public String getLogOutRecvTime() {
		return logOutRecvTime;
	}
	public void setLogOutRecvTime(String logOutRecvTime) {
		this.logOutRecvTime = logOutRecvTime;
	}
	public String getLogInTime() {
		return logInTime;
	}
	public void setLogInTime(String logInTime) {
		this.logInTime = logInTime;
	}
	public String getLogInSerialNo() {
		return logInSerialNo;
	}
	public void setLogInSerialNo(String logInSerialNo) {
		this.logInSerialNo = logInSerialNo;
	}
	public String getLogInRecvTime() {
		return logInRecvTime;
	}
	public void setLogInRecvTime(String logInRecvTime) {
		this.logInRecvTime = logInRecvTime;
	}
	public String getSimCCID() {
		return simCCID;
	}
	public void setSimCCID(String simCCID) {
		this.simCCID = simCCID;
	}
	public Integer getBatteryNum() {
		return batteryNum;
	}
	public void setBatteryNum(Integer batteryNum) {
		this.batteryNum = batteryNum;
	}
	public String getBatteryCode() {
		return batteryCode;
	}
	public void setBatteryCode(String batteryCode) {
		this.batteryCode = batteryCode;
	}
	public int getGpsState() {
		return gpsState;
	}
	public void setGpsState(int gpsState) {
		this.gpsState = gpsState;
	}
	public Double getLg() {
		return lg;
	}
	public void setLg(Double lg) {
		this.lg = lg;
	}
	public long getDcState() {
		return dcState;
	}
	public Long getT() {
		return t;
	}
	public void setT(Long t) {
		this.t = t;
	}
	public Double getM() {
		return m;
	}
	public void setM(Double m) {
		this.m = m;
	}
	public Float getSp() {
		return sp;
	}
	public void setSp(Float sp) {
		this.sp = sp;
	}
	public Integer getSt() {
		return st;
	}
	public void setSt(Integer st) {
		//车辆状态 0-未知，1-在线，2-离线
		//停车在线: 状态为1 车速为0
		//页面展示 0-未知，1-行驶在线，2-离线  3-停车在线
		if (st != null && st == 1) {
			if (this.sp != null && this.sp > 5) {
				st = 1;
			} else {
				st = 3;
			}
		} else if (st != null && st == 2) {
			st = 2;
		} else {
			st = 0;
		}
		this.st = st;
	}
	public static long getSerialVersionUID() {
		return serialVersionUID;
	}
	public long getTotalM() {
		return totalM;
	}
	public void setTotalM(long totalM) {
		this.totalM = totalM;
	}
	public long getGprsState() {
		return gprsState;
	}
	public void setGprsState(long gprsState) {
		int posState = (int)(gprsState & 0x00000002);
		this.pos = posState;
		this.gprsState = gprsState;
	}
	public String getVin() {
		return vin;
	}
	public void setVin(String vin) {
		this.vin = vin;
	}
	public double getTm() {
		return tm;
	}
	public void setTm(double tm) {
		this.tm = tm;
	}
	public String getOrgName() {
		return orgName;
	}
	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}
	public Integer getGprs() {
		return gprs;
	}
	public void setGprs(Integer gprs) {
		this.gprs = gprs;
	}
	public Integer getSts() {
		return sts;
	}
	public void setSts(Integer sts) {
		this.sts = sts;
	}
	public Integer getPos() {
		return pos;
	}
	public void setPos(Integer pos) {
		this.pos = pos;
	}
	public double getPerm() {
		return perm;
	}
	public void setPerm(double perm) {
		this.perm = perm;
	}
	public Long getLks() {
		return lks;
	}
	public void setLks(Long lks) {
		this.lks = lks;
	}
	public Long getLkt() {
		return lkt;
	}
	public void setLkt(Long lkt) {
		this.lkt = lkt;
	}
	public String getSimNo() {
		return simNo;
	}
	public void setSimNo(String simNo) {
		this.simNo = simNo;
	}
	public String getCarType() {
		return carType;
	}
	public void setCarType(String carType) {
		this.carType = carType;
	}
	public Integer getDir() {
		return dir;
	}
	public void setDir(Integer dir) {
		this.dir = dir;
	}
	public long getPowStoreVoltage() {
		return powStoreVoltage;
	}


	public String getDaymTag() {
		return daymTag;
	}
	public void setDaymTag(String daymTag) {
		this.daymTag = daymTag;
	}

	public String getSmallIcon() {
		return smallIcon;
	}
	public void setSmallIcon(String smallIcon) {
		this.smallIcon = smallIcon;
	}
	public String getCarModelName() {
		return carModelName;
	}
	public void setCarModelName(String carModelName) {
		this.carModelName = carModelName;
	}
	public String getCarFactory() {
		return carFactory;
	}
	public void setCarFactory(String carFactory) {
		this.carFactory = carFactory;
	}
	public String getCarModelCode() {
		return carModelCode;
	}
	public void setCarModelCode(String carModelCode) {
		this.carModelCode = carModelCode;
	}


}